//
//  SEGCommunitySocialManager.h
//  SEGUhomeSommunitySocial
//
//  Created by 揭婧雯 on 2018/3/28.
//  Copyright © 2018年 刘山. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "PublishScopeListModel.h"
#import "SEGMarketTypeModel.h"
#import "SEGNewMarketTypeModel.h"
#import "SEGQueryGoodsIdelModel.h"
#import "SEGHTTPBusinessManager.h"

typedef NS_ENUM(NSUInteger, SEGAdvertLocationCode) {
    SEGAdvertLocationCode_PGC = 6, /*PGC评论弹窗*/
    SEGAdvertLocationCode_TextTopic = 7, /*文字话题发布弹窗*/
    SEGAdvertLocationCode_NeighbourList = 8, /*邻里圈列表评论弹窗*/
    SEGAdvertLocationCode_NeighbourDetail = 9, /*UGC详情评论弹窗*/
    SEGAdvertLocationCode_ActiviCommentList = 10, /*活动-邻居说列表弹窗*/
    SEGAdvertLocationCode_ActiviCommentDetail = 11 /*活动-邻居说详情评论弹窗*/
};

@interface SEGCommunitySocialManager : NSObject
///  点赞情况
@property (nonatomic, assign) BOOL isPraise;

///  新增点赞浏览
///  @param objId    被点赞或浏览主题对象
///  @param objType  被点赞或浏览主题对象类型 1 画报2问题 3评论 4问题答案
///  @param type     操作类型 1 点赞 2 浏览 3 收藏 其他操作有需要后续扩展
///  @param creator  评论者的用户
///  @param objPicUrlForMsg  消息图片 主要是 2手 闲置 帮帮
///  @param objTitleForMsg  消息标题,如果是对PGC或者话题等系统发起的 objTitleForMsg为对应的标题，帮帮则为帮帮的标题（即问题的内容）否则objTitleForMsg为 评论内容
///  @param byReviewUserId  被点赞对象的用户ID，即记录创建者的用户Id
///  @param communityName  小区名称 来自 XX市 XX小区
///  @param parentObjId    父级Id ，例如对问题答案进行回复的话 parentObjId为问题ID
- (void)requestPictorialPraiseAttentByObjId:(NSString*)objId
                                    ObjType:(NSString*)objType
                                       Type:(NSString*)type
                                    Creator:(NSString*)creator
                            objPicUrlForMsg:(NSString*)objPicUrlForMsg
                             objTitleForMsg:(NSString*)objTitleForMsg
                             byReviewUserId:(NSString*)byReviewUserId
                              communityName:(NSString*)communityName
                                parentObjId:(NSString*)parentObjId
                              parentObjType:(NSInteger)parentObjType
                                   Finished:(SEGRequestCallBack)finished;

/// 话题列表点赞
/// @param objId    被点赞或浏览主题对象
/// @param objType  被点赞或浏览主题对象类型 1 画报2问题 3评论 4问题答案
/// @param type     操作类型 1 点赞 2 浏览 3 收藏 其他操作有需要后续扩展
/// @param creator  评论者的用户
/// @param objPicUrlForMsg  消息图片 主要是 2手 闲置 帮帮
/// @param objTitleForMsg  消息标题,如果是对PGC或者话题等系统发起的 objTitleForMsg为对应的标题，帮帮则为帮帮的标题（即问题的内容）否则objTitleForMsg为 评论内容
/// @param byReviewUserId  被点赞对象的用户ID，即记录创建者的用户Id
/// @param communityName  小区名称 来自 XX市 XX小区
/// @param parentObjId    父级Id ，例如对问题答案进行回复的话 parentObjId为问题ID
/// @param parentObjType parentObjType description
/// @param isTopicPraise 是否是话题点赞
/// @param topicID 如果是话题点赞，需要传话题ID
/// @param finished finished description
- (void)requestPictorialPraiseAttentByObjId:(NSString*)objId
                                    ObjType:(NSString*)objType
                                       Type:(NSString*)type
                                    Creator:(NSString*)creator
                            objPicUrlForMsg:(NSString*)objPicUrlForMsg
                             objTitleForMsg:(NSString*)objTitleForMsg
                             byReviewUserId:(NSString*)byReviewUserId
                              communityName:(NSString*)communityName
                                parentObjId:(NSString*)parentObjId
                              parentObjType:(NSInteger)parentObjType
                              isTopicPraise:(BOOL)isTopicPraise
                                    topicID:(NSString*)topicID
                                   Finished:(SEGRequestCallBack)finished;

- (void)requestCancelPraiseOrCollectByUserId:(NSString*)userId
                                       objId:(NSString*)objId
                                     objType:(NSString*)objType
                                        type:(NSString*)type
                                    Finished:(SEGRequestCallBack)finished;

/**
 * 参与话题、发布帮帮
 * @author Wendy
 * @param params  发布参数
 */
- (void)requestSaveQuizWithParams:(NSDictionary *)params
                         Finished:(SEGRequestCallBack)finished;

/**
 * 获取导航栏区域类型的下拉菜单
 * @author Wendy
 */
- (void)requesPublishScopeListFinished:(SEGRequestCallBack)finished;

@property (nonatomic, strong) NSArray<PublishScopeListModel*>* publishScopeList;

/**
 * 对评论点赞
 * @author Wendy
 * @param objId    被点赞或浏览主题对象
 * @param objType  被点赞或浏览主题对象类型 1 画报2问题 3评论 4问题答案
 * @param objPicUrlForMsg  消息图片 主要是 2手 闲置 帮帮
 * @param objTitleForMsg  消息标题,如果是对PGC或者话题等系统发起的 objTitleForMsg为对应的标题，帮帮则为帮帮的标题（即问题的内容）否则objTitleForMsg为 评论内容
 * @param byReviewUserId  被点赞对象的用户ID，即记录创建者的用户Id
 * @param parentObjId    父级Id ，例如对问题答案进行回复的话 parentObjId为问题ID
 * @param parentObjType
 * @param operationType 邻里圈类型 邻里圈相关点赞传 其他地方不传
 * @param finished 回调结果
 */
- (void)requestPraiseAttentByObjId:(NSString*)objId
                           ObjType:(NSString*)objType
                   objPicUrlForMsg:(NSString*)objPicUrlForMsg
                    objTitleForMsg:(NSString*)objTitleForMsg
                    byReviewUserId:(NSString*)byReviewUserId
                       parentObjId:(NSString*)parentObjId
                     parentObjType:(NSString*)parentObjType
                     operationType:(NSString *)operationType
                          isParent:(NSString *)isParent
                          Finished:(SEGRequestCallBack)finished;

/**
 * 取消点赞
 * @author Wendy
 * @param objId 被取消对象ID
 * @param objType 被取消对象类型
 * @param finished 回调结果
 */
- (void)requestCancelPraiseByobjId:(NSString*)objId
                           objType:(NSString*)objType
                          Finished:(SEGRequestCallBack)finished;


/// 发布集市类型列表数据
@property (nonatomic, strong) NSArray<SEGMarketTypeModel *>* dataSourceMarketTypeList;

/// 获取集市列表数据
///
///  @param code  字典编码(code)    (集市：market_type)

-(void)requestFindDictionaryInfoByCode:(NSString *)code Finished:(SEGNetworkReponse)finished;

/// 集市大类
-(void)requestMarketTypeList:(SEGNetworkReponse)finished;
/// 展示集市类型列表数据
@property (nonatomic, strong) NSMutableArray<SEGNewMarketTypeModel *>* marketTypeList;

/**
 根据类别查询集市
 
 @param typeId typeId
 @param scopeId scopeId
 @param pageNo pageNo
 @param finished finished
 */
-(void)requestMarketListByTypeID:(NSString *)typeId
                         scopeId:(NSString *)scopeId
                          pageNo:(NSString *)pageNo
                        Finished:(SEGNetworkReponse)finished;


/**
 根据类别查询集市

 @param typeId typeId
 @param scopeId scopeId
 @param pageNo pageNo
 @param pageLimit 页数限制
 @param cityID cityID
 @param finished finished
 */
-(void)requestMarketListByTypeID:(NSString *)typeId
                         scopeId:(NSString *)scopeId
                          pageNo:(NSString *)pageNo
                       pageLimit:(NSInteger)pageLimit
                          cityID:(NSString *)cityID
                        Finished:(SEGNetworkReponse)finished;

/// 集市列表数据
@property (nonatomic, strong) NSMutableArray<SEGQueryGoodsIdelModel *>* marketList;

@end
